Data compression can be used to reduce the size of a set of data. Reducing the size of the data can reduce the amount of space needed to store the data. Reducing the size can also reduce the amount of time needed to transfer the data from one location to another. Data compression can include encoding data into a more compact representation. Hence, data compression can also be referred to as encoding.
Data compression techniques consider various requirements, including speed (e.g., how quickly data can be compressed) and size (e.g., how small the data can be compressed). In some cases, speed and compression size can conversely affect each other. For example, making the data as compact as possible may require time, thus, when speed is not a consideration, it may be possible to make the data as compact as possible. As another example, when the data needs to be compressed within a certain amount of time, then a data compression technique may not be able to achieve optimal compactness.
When implementing data decompression in an integrated circuit, ensuring that the data can be decompressed or decoded at a certain rate may be more important achieving a particular compression ratio.